popover: Only give back focus to drawable widgets
authorCarlos Garnacho <carlosg@gnome.org>
Thu, 6 Mar 2014 19:38:11 +0000 (20:38 +0100)
committerCarlos Garnacho <carlosg@gnome.org>
Thu, 6 Mar 2014 19:38:11 +0000 (20:38 +0100)
If the previous focus widget is not drawable anymore, don't even
bother in transmitting the focus grab to it.

gtk/gtkpopover.c

index 8e1c56b0644ff162ff7ff545da9a78c97431d85f..1cc9e9c5d4525fac30a04d31ec89268de79a79c6 100644 (file)
@@ -275,10 +275,12 @@ gtk_popover_apply_modality (GtkPopover *popover,
     {
       gtk_grab_remove (GTK_WIDGET (popover));
 
-      /* Let prev_focus_widget regain focus */
       if (priv->prev_focus_widget)
         {
-          gtk_widget_grab_focus (priv->prev_focus_widget);
+          /* Let prev_focus_widget regain focus */
+          if (gtk_widget_is_drawable (priv->prev_focus_widget))
+            gtk_widget_grab_focus (priv->prev_focus_widget);
+
           g_object_unref (priv->prev_focus_widget);
           priv->prev_focus_widget = NULL;
         }